home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1997-02-14 | 1.5 KB | 60 lines | [TEXT/3PRM] |
- implementation module memory;
-
- import mac_types;
-
- NewHandle :: !Int !Toolbox -> (!Handle,!Int,!Toolbox);
- NewHandle logicalSize t = (handle,error,0);
- {
- error=MemError t2;
- (handle,t2)=NewHandle2 logicalSize t;
- }
-
- NewHandle2 :: !Int !Toolbox -> (!Handle,!Toolbox);
- NewHandle2 logicalSize t = code (logicalSize=D0,t=U)(handle=D0,z=Z){
- call .NewHandle
- };
-
- DisposHandle :: !Handle !Toolbox -> (!Int,!Toolbox);
- DisposHandle h t = code (h=D0,t=U)(result_code=D0,z=Z){
- call .DisposeHandle
- };
-
- NewPtr :: !Int !Toolbox -> (!Ptr,!Int,!Toolbox);
- NewPtr logicalSize t = (pointer,error,0);
- {
- error=MemError t2;
- (pointer,t2)=NewPtr2 logicalSize t;
- }
-
- NewPtr2 :: !Int !Toolbox -> (!Ptr,!Toolbox);
- NewPtr2 logicalSize t = code (logicalSize=D0,t=U)(pointer=D0,z=Z){
- call .NewPtr
- };
-
- DisposPtr :: !Ptr !Toolbox -> (!Int,!Toolbox);
- DisposPtr p t = code (p=D0,t=U)(result_code=D0,z=Z){
- call .DisposePtr
- };
-
- MemError :: !Toolbox -> Int;
- MemError t = code (t=U)(r=D0){
- call .MemError
- };
-
- GetHandleSize :: !Handle !Toolbox -> (!Int,!Toolbox);
- GetHandleSize handle t = code (handle=D0,t=U)(result_code=D0,z=Z){
- call .GetHandleSize
- }
-
- GetPtrSize :: !Int !Toolbox -> (!Int,!Toolbox);
- GetPtrSize p t = code (p=D0,t=U)(size=D0,z=Z){
- call .GetPtrSize
- };
-
- copy_handle_data_to_string :: !{#Char} !Handle !Int !Toolbox -> Toolbox;
- copy_handle_data_to_string string handle size tb = code (string=U,handle=D1,size=D2,tb=U)(z=Z){
- instruction 0x80640000 | lwz r3,0(r4)
- instruction 0x38970008 | addi r4,r23,8
- call .BlockMoveData
- }
-